From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 09:10:14 +0000
Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS

The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so
assume it is not there instead of testing for specific implementations.

This is needed for musl libc.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
[Retrieved from:
http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch?h=sumo]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 open-vm-tools/lib/hgfsServer/hgfsServerLinux.c      | 8 +++++---
 open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
 2 files changed, 6 insertions(+), 5 deletions(-)

Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
===================================================================
--- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c
+++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
@@ -107,11 +107,13 @@ typedef struct DirectoryEntry {
 #endif
 
 /*
- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the
- * Solaris version of <sys/stat.h>.
+ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in
+ * POSIX.
  */
-#ifdef sun
+#ifndef ACCESSPERMS
 #   define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
+#endif
+#ifndef ALLPERMS
 #   define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
 #endif
 
Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
===================================================================
--- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c
+++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
@@ -51,7 +51,7 @@
 
 #define DND_ROOTDIR_PERMS     (S_IRWXU | S_IRWXG | S_IRWXO)
 #define DND_STAGINGDIR_PERMS  (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
-#ifdef sun
+#ifndef ACCESSPERMS
 #define ACCESSPERMS           (S_IRWXU | S_IRWXG | S_IRWXO)
 #endif
 #ifdef __ANDROID__
@@ -60,7 +60,6 @@
  */
 #define NO_SETMNTENT
 #define NO_ENDMNTENT
-#define ACCESSPERMS           (S_IRWXU | S_IRWXG | S_IRWXO)
 #endif
 
 
